﻿// html Escape
function htmlEscape(str) {
    return String(str)
        .replace(/&/g, '&amp;')
        .replace(/"/g, '&quot;')
        .replace(/'/g, '&#39;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;');
}

// html Unescape
function htmlUnescape(value) {
    return String(value)
        .replace(/&quot;/g, '"')
        .replace(/&#39;/g, "'")
        .replace(/&lt;/g, '<')
        .replace(/&gt;/g, '>')
        .replace(/&amp;/g, '&');
}

// Get Cookie
function getCookie(name) {
    var search = name + "=";

    if (document.cookie.length > 0) {

        var offset = document.cookie.indexOf(search);

        if (offset != -1) {
            offset += search.length;
            var end = document.cookie.indexOf(";", offset);

            if (end == -1) end = document.cookie.length;
            return unescape(document.cookie.substring(offset, end));
        }
    }

    return "";
}

// Set Cookie
function setCookie(name, value, expires) {
    if (!expires || typeof expires !== "Date") {
        var expdate = new Date();
        expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30);
        expires = expdate;
    }

    document.cookie = name + "=" + escape(value) + "; path=/; expires=" + expires.toGMTString();
}


/*******************************************************************************
* Get QueryString
*******************************************************************************/
function getQueryVariable(variable, defaultValue) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }

    if (defaultValue == undefined)
        return null;
    else
        return defaultValue;
}


/*******************************************************************************
* Get QueryString
*******************************************************************************/
function removeSpCharRegx(text) {
    var str = text;

    // 스타일 제거
    var re3 = "<style[^>]*>(.*?)";
    str = str.replace(re3, "");

    // 스크립트 제거
    var re2 = "<script[^>]*>(.*?)</script>";
    str = str.replace(re2, "");

    // 태그제거
    var re1 = /[<][^>]*[>]/gi;
    str = text.replace(re1, "");

    return str;
}


/*******************************************************************************
* BootStrap Component 관련
* 위 Script를 사용하기 위해서는 정형화된 Html Form 및 Attribute 사용이 요구된다. 
  수시로 변경될 예정이다. 
*******************************************************************************/
/// 라디오 박스 체크
function setBootRadioCheck(ctrlNm, value) {
    $("#" + ctrlNm + " label").each(function () {
        $(this).removeClass("active");
    });

    $("#" + ctrlNm + " label").each(function () {
        if ($(this).attr("data-value") == value) {
            $(this).addClass("active");
        }
    });
}

function setBootDropDownSelectedItem(ctrlNm, valCtrlNm, value) {
    $("#" + ctrlNm + " li").each(function () {
        if ($(this).find("[data-value]").attr("data-value") == value) {
            $("#" + valCtrlNm).text($(this).find("[data-value]").text());
            $("#" + valCtrlNm).attr("data-value", value);
        }
    });
}



